import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'

// https://vite.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    vueDevTools(),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url)),
      'vue': 'vue/dist/vue.esm-bundler.js'
    },
    dedupe: ['@floating-ui/core', '@floating-ui/dom']
  },
  optimizeDeps: {
    // 明确告诉 Vite 预构建这些模块，特别关注 @floating-ui/core
    include: [
      'vue',
      'vue-router',
      'pinia',
      'axios',
      'element-plus',
      '@element-plus/icons-vue',
      '@floating-ui/core', 
      '@floating-ui/dom' 
    ],
    // 如果 Element Plus 内部使用的某个模块未被正确识别，可以尝试排除
    // exclude: ['@floating-ui/core'] // 也可以尝试排除，让它走正常编译流程 (通常不推荐)
  }
})
